package com.sanjiahantang.youjiarole.module.me.order.models;

import android.content.Context;

import com.sanjiahantang.youjiarole.base.BaseBean;
import com.sanjiahantang.youjiarole.base.CallBack;
import com.sanjiahantang.youjiarole.module.common.beans.StringBean;
import com.sanjiahantang.youjiarole.module.me.address.beans.AddressBean;
import com.sanjiahantang.youjiarole.module.me.order.beans.OrderResponseBean;
import com.sanjiahantang.youjiarole.module.me.order.beans.OrderTakeNumberResponseBean;
import com.sanjiahantang.youjiarole.module.me.order.beans.OrderTakeResponseBean;
import com.sanjiahantang.youjiarole.module.me.order.beans.OrderYuEPayResponseBean;
import com.sanjiahantang.youjiarole.module.me.order.beans.RequireOrderBean;
import com.sanjiahantang.youjiarole.module.me.order.beans.Service3PartBean;
import com.sanjiahantang.youjiarole.module.me.order.beans.ServiceListBean;
import com.sanjiahantang.youjiarole.module.me.order.beans.ShopListBean;

import java.util.Map;

/**
 * Created by zy on 2017/10/25.
 */

public interface IOrderModel {
    void searchPriceDesignPhoneForRole(Context context, Map<String, String> param, CallBack<RequireOrderBean> callBack);

    void searchUserAddressOrder(Context context, Map<String, String> params, CallBack<AddressBean> callBack);

    void createOrderForMallCommon(Context context, Object post, CallBack<OrderResponseBean> callBack);

    void payGoodsOrderPhone(Context context, Object requestBean, CallBack<BaseBean> callBack);


    void loadOrderList(Context context, Map<String, Object> params, CallBack<ShopListBean> callBack);

    void loadOrderTakeList(Context context, Map<String, Object> param, CallBack<OrderTakeResponseBean> callBack);

    void operatorState(Context context, Map<String, Object> param, CallBack<BaseBean> callBack,String orderCode);

    void cancelOrderPhone(Context context, Map<String, Object> param, CallBack<BaseBean> callBack);

    void initSearchRequire(Context context, Map<String, Object> param, CallBack<OrderTakeNumberResponseBean> callBack);

    void searchRequireOverList(Context context, Map<String, Object> param, CallBack<OrderTakeResponseBean> callBack);

    void searchGoodsRaForCode(Context context, Map<String, Object> param, CallBack<ShopListBean> callBack);

    void saveInvoiceInfoPhoneForRole(Context context, Map<String, Object> param, CallBack<BaseBean> callBack);

    void findOrderExpressInfo(Context context, Map<String, Object> param, CallBack<StringBean> callBack);

    void searchServiceOrder(Context context, Map<String, String> param, CallBack<ServiceListBean> callBack);

    void searchPriceDesignPhoneForCustomer(Context context, Map<String, String> param, CallBack<RequireOrderBean> callBack);

    void createOrderForDesign(Context context, Map<String, Object> param, CallBack<Service3PartBean> callBack);

    void getCheckCodeGood(Context context, Object bean, CallBack<ShopListBean> callBack);

    void saveBankPayGoods(Context context, Object data, CallBack<ShopListBean> callBack);

    void createGoodsPayNumber(Context context, Object bean, CallBack<OrderYuEPayResponseBean> onLoadListener);

    void goodsBalancePay(Context context, Object bean, CallBack<BaseBean> callBack);
}
